Soru & Cevap

Android Uygulaması durduruldu hatası

27.12.2017 - 07:22


public class bolme extends Activity {

ImageView img1, img2; TextView cvp1,cvp2,cvp3; String deger; private int[] resimler1 ={R.drawable.r0,R.drawable.r1,R.drawable.r2,R.drawable.r3,R.drawable.r4,R.drawable.r5,R.drawable.r6,R.drawable.r7,R.drawable.r8,R.drawable.r9};

private int [] resimler2 ={R.drawable.r0,R.drawable.r1,R.drawable.r2,R.drawable.r3,R.drawable.r4,R.drawable.r5,R.drawable.r6,R.drawable.r7,R.drawable.r8,R.drawable.r9};

private int [] cevaplar ={R.id.textView,R.id.textView2,R.id.textView3};

private int sayi1,sayi2,cevaplar1,sonuc;

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.bolme);

img1 = (ImageView) findViewById(R.id.imageView1);

img2 = (ImageView) findViewById(R.id.imageView2);

cvp1 = (TextView) findViewById(R.id.textView);

cvp2 = (TextView) findViewById(R.id.textView3);

cvp3 = (TextView) findViewById(R.id.textView2);

oyun(); }

public void oyun() { 

do {

Random rnd = new Random();

Random rnd2 = new Random();

Random rnd3 = new Random();

sayi1 = rnd.nextInt(resimler1.length);

sayi2 = rnd2.nextInt(resimler2.length);

cevaplar1 = rnd3.nextInt(cevaplar.length);

} while ((sayi1<sayi2)||(sayi1%sayi2!=0));

img1.setImageResource(resimler1[sayi1]);

img2.setImageResource(resimler2[sayi2]); sonuc = sayi1 / sayi2; 

if (cevaplar1 == 0) {

deger = String.valueOf(sonuc);

cvp1.setText((deger.toString()));

cvp2.setText(String.valueOf(sonuc + 1).toString());

cvp3.setText(String.valueOf(sonuc + 2).toString()); }

else if (cevaplar1 == 1) {

deger = String.valueOf(sonuc);

cvp2.setText((deger.toString()));

cvp1.setText(String.valueOf(sonuc + 1).toString());

cvp3.setText(String.valueOf(sonuc + 2).toString()); }

else if (cevaplar1==2) { deger = String.valueOf(sonuc); cvp3.setText((deger.toString())); cvp2.setText(String.valueOf(sonuc+1).toString());

cvp1.setText(String.valueOf(sonuc+2).toString()); }

}

public void Tiklandi (View v) {

if ( v.getId()==((TextView)v).getId()) {

if (sonuc == Integer.parseInt(((TextView) v).getText().toString())) {
oyun();
   } } }

Yukarıdaki kodları kulllanarak drawable klasorundan getirdiğim rakamlarla bölme işlemi yapmak istedim. Resimler dogru bir şekilde geliyor ve bir kaç bölme işlemini yaptırabiliyorum. Fakat daha sonra uygulama durduruluyor. Nasıl duzeltebilirim yardımcı olur musunu?

272 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-84564-1548924191.jpg
emrekaplan606
29.12.2017 - 02:27

Merhabalar, 

sonuc değişkenine ilk değer atamayı deneyebilirsiniz. Ayrıca hatanın tam olarak ne olduğunu anlamak için;

1-) Uygulamanızı Android Studio ile run edin,

2-) Hata alana kadar uygulamanızda işlemler yapın.

3-) Hata aldığınızda Android Studio nun sağ alt kısmında "Run" penceresine tıklarsanız detaylı hata raporunu görürsünüz.

Kolay gelsin.

Fatma Canbolat
29.12.2017 - 06:41
Sonuca bir değer yapıştırdım yine aşağıdaki hataları aldım 12-29 15:40:47.742 2442-2442/com.example.cnblt.myapplication2 E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.cnblt.myapplication2, PID: 2442 java.lang.IllegalStateException: Could not execute method for android:onClick at android.view.View$DeclaredOnClickListener.onClick(View.java:4725) at android.view.View.performClick(View.java:5637) at android.view.View$PerformClick.run(View.java:22429) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6119) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Method.invoke(Native Method) at android.view.View$DeclaredOnClickListener.onClick(View.java:4720) at android.view.View.performClick(View.java:5637)  at android.view.View$PerformClick.run(View.java:22429)  at android.os.Handler.handleCallback(Handler.java:751)  at android.os.Handler.dispatchMessage(Handler.java:95)  at android.os.Looper.loop(Looper.java:154)  at android.app.ActivityThread.main(ActivityThread.java:6119)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)  Caused by: java.lang.ArithmeticException: divide by zero at com.example.cnblt.myapplication2.bolme.oyun(bolme.java:72) at com.example.cnblt.myapplication2.bolme.Tiklandi(bolme.java:113) at java.lang.reflect.Method.invoke(Native Method)  at android.view.View$DeclaredOnClickListener.onClick(View.java:4720)  at android.view.View.performClick(View.java:5637)  at android.view.View$PerformClick.run(View.java:22429)  at android.os.Handler.handleCallback(Handler.java:751)  at android.os.Handler.dispatchMessage(Handler.java:95)  at android.os.Looper.loop(Looper.java:154)  at android.app.ActivityThread.main(ActivityThread.java:6119)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)